Java中 StringBuilder 和 StringBuffer 的区别 您所在的位置:网站首页 stringbuffer stringbuilder底层 Java中 StringBuilder 和 StringBuffer 的区别

Java中 StringBuilder 和 StringBuffer 的区别

#Java中 StringBuilder 和 StringBuffer 的区别| 来源: 网络整理| 查看: 265

当前位置:主页 > 学无止境 > 编程语言 > Java > Python PHP Java Go TypeScript C++ Vba Node.js C语言 Java中 StringBuilder 和 StringBuffer 的区别 作者:迹忆客 最近更新:2023/03/26 浏览次数:

本篇文章将讨论 Java 的 StringBuilder 和 StringBuffer 类之间的区别。 让我们开始吧!

Java 中的 StringBuffer

StringBuffer 类为我们提供了一种在 Java 中使用可变字符串数据的方法。 这些字符串可以被多个线程同时以无关紧要的方式使用,没有风险。

语法:

StringBuffer b = new StringBuffer("Shanii"); Example: public class BufferexamplebyZeeshan { public static void main(String[] args) { StringBuffer b = new StringBuffer(" Hi! "); b.append(" Muhammad Zeeshan Here! "); b.append(" Let's Code "); System.out.println(b); } }

输出结果如下

Hi! Muhammad Zeeshan Here! Let's Code Java 中的 StringBuilder

StringBuilder 还允许我们访问可变字符串,尽管此实现没有线程安全性。 多个线程不能同时使用它。

由于此类不应用此附加功能,因此它比 StringBuffer 快得多。

句法:

StringBuilder s1 = new StringBuilder("Shani"); Example: public class BuilderexamplebyZeeshan { public static void main(String[] args) { StringBuilder s = new StringBuilder(" Hey!"); s.append("I am a Programmer"); System.out.println(s); } }

输出结果如下:

Hey!I am a Programmer Java中StringBuilder和StringBuffer的区别

让我们通过以下语句了解 StringBuilder 和 StringBuffer 之间的区别:

序号 StringBuilder StringBuffer 1 StringBuilder 不是同步的,这意味着它不是线程安全的。 这表明两个不同的线程可以同时调用 StringBuilder 类的方法。 StringBuffer 是同步的,这意味着它是线程安全的。 这意味着 StringBuffer 的方法不能被两个不同的线程同时调用。 2 在计算机的堆内存中生成。 它也是在堆内存中生成的。 3 为我们提供可变的字符串。 我们可以在不构造对象的情况下更改字符串。 4 默认可存储16个字符。 与 StringBuilder 一样,它可以存储默认的 16 个字符。 5 它们中最快的,因为它支持可变性,同时防止许多线程同时工作。 它比 StringBuilder 类慢,因为它允许多个线程同时执行操作。 6 连接是使用 append() 函数完成的。 它的串联也是使用 append() 函数完成的。 使用 StringBuilder 和 StringBuffer 的示例

StringBuilder 比 StringBuffer 更快,因为它不是同步的。 让我们看一个比较 StringBuilder 和 StringBuffer 的基本示例:

public class Main { public static void main(String[] args) { int RandomNumber = 5677839; long time; StringBuffer s = new StringBuffer(); time = System.currentTimeMillis(); for (int i = RandomNumber; i --> 0 ;) { s.append(""); } System.out.println(System.currentTimeMillis() - time); StringBuilder b = new StringBuilder(); time = System.currentTimeMillis(); for (int i = RandomNumber; i > 0 ; i--) { b.append(""); } System.out.println(System.currentTimeMillis() - time); } }

输出结果如下:

161 17

上面的示例提供了 StringBuffer 的 161 毫秒和 StringBuilder 的 17 毫秒的数值比较,这很明显 StringBuilder 是更高效的选择。

上一篇:在 Java 中将 OutputStream 转换为字符串

下一篇:没有了

相关文章 在 Java 中将 OutputStream 转换为字符串

发布时间:2023/03/26 浏览次数:116 分类:Java

本篇文章介绍如何在 Java 中将 OutputStream 转换为 String。

Java 中的 trim() 与 strip() 区别

发布时间:2023/03/26 浏览次数:144 分类:Java

本篇文章介绍 Java 中 trim() 和 strip() 方法之间的区别。

在 Java 中重复一个字符串(二)

发布时间:2023/03/26 浏览次数:192 分类:Java

本文将介绍几种在 Java 中重复字符串的简单方法

在 Java 中转换二进制字符串为 Int

发布时间:2023/03/26 浏览次数:187 分类:Java

本教程介绍了如何在 Java 中把二进制字符串转换为 int。

在 Java 中重复字符串

发布时间:2023/03/26 浏览次数:160 分类:Java

本文介绍了 Java 中重复字符串的方法。

在 Java 中添加字符到字符串

发布时间:2023/03/26 浏览次数:122 分类:Java

本教程讨论了可用于在 Java 中将 char 添加到字符串的方法。

在 Java 中替换字符串指定索引处的字符

发布时间:2023/03/26 浏览次数:135 分类:Java

本文介绍了在 Java 中替换字符串指定索引处的字符。

在 Java 中将字符串转换为 JSON 对象

发布时间:2023/03/26 浏览次数:66 分类:Java

本教程介绍了如何在 Java 中把一个字符串转换成一个 json 对象。

在 Java 中获取字符串的最后一个字符

发布时间:2023/03/26 浏览次数:114 分类:Java

本文讲解了几种在 Java 中获取字符串最后一个字符的方法

转载请发邮件至 [email protected] 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有